//
//  StanfordEventsAppDelegate.h
//  StanfordEvents
//
//  Created by Gongmyung on 6/30/10.
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

//TODO: wait until we get confirmation of checkin
//TODO: filters need to update in viewDidLoad in MapView and LocalEvents
//TODO: make better location address/description interface
//TODO: date button selecting
//TODO: checkin icon
//TODO: add persistance to event creation
//TODO: map needs to show events by time

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import "EventsListViewController.h"
#import "MapViewController.h"
#import "ConciergeLoginViewController.h"
#import "LocalEventsListViewController.h"
#import "FiltersTableViewController.h"

@interface StanfordEventsAppDelegate : NSObject <UIApplicationDelegate, LoginViewDelegate> {
    NSManagedObjectModel *managedObjectModel;
    NSManagedObjectContext *managedObjectContext;	    
    NSPersistentStoreCoordinator *persistentStoreCoordinator;

    //tab and navigation controllers for application structure
    UITabBarController *tabController;
    UINavigationController *localEventsController;
    UINavigationController *myEventsController;
    UINavigationController *mapController;
    UINavigationController *filtersController;
    
    MapViewController *mapViewController;
    EventsListViewController *eventsListViewController;
    LocalEventsListViewController *localEventsViewController;
    FiltersTableViewController *filtersTableViewController;
    
    NSString *username, *password;
    
    //used for handling notificcations
    int state;
    
    UIWindow *window;
}

- (NSString *)applicationDocumentsDirectory;

-(void) finished;

@property (nonatomic, retain) IBOutlet UIWindow *window;

@property (readonly) MapViewController *mapViewController;
@property (readonly) EventsListViewController *eventsListViewController;
@property (readonly) LocalEventsListViewController *localEventsListViewController;
@property (readonly) FiltersTableViewController *filtersTableViewController;
@property (readonly) UITabBarController *tabController;
@property (readonly) UINavigationController *mapController;
@property (assign) int state;

@end

